home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / kudzu / modules.h < prev    next >
C/C++ Source or Header  |  2005-12-04  |  2KB  |  67 lines

  1. /* Copyright 1999-2004 Red Hat, Inc.
  2.  *
  3.  * This software may be freely redistributed under the terms of the GNU
  4.  * public license.
  5.  *
  6.  * You should have received a copy of the GNU General Public License
  7.  * along with this program; if not, write to the Free Software
  8.  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  9.  *
  10.  */
  11.  
  12. #ifndef _MODULES_H_
  13. #define _MODULES_H_
  14.  
  15. /* Handle stuff in modules.conf */
  16.  
  17. struct module {
  18.     char *name;
  19.     int loaded;
  20. };
  21.  
  22. struct confModules {
  23.     /* <numlines> lines. Lines may be NULL. */
  24.     char **lines;
  25.     int numlines;
  26.     /* have we backed up an old entry?
  27.      * We only want to do this once per 'session'.
  28.      */
  29.     int madebackup;
  30.     
  31. };
  32.  
  33. /* Flags to add/removeFoo */
  34. #define    CM_REPLACE    1    /* replace matching lines */
  35. #define CM_COMMENT    (1<<1)    /* comment out matching lines */
  36.  
  37. /* Returns an allocated (but empty) confModules */
  38. struct confModules *newConfModules();
  39. void freeConfModules(struct confModules *cf);
  40. struct confModules *readConfModules(char *filename);
  41. int writeConfModules(struct confModules *cf, char *filename);
  42.  
  43. int addLine(struct confModules *cf, char *line, int flags);
  44. int addAlias(struct confModules *cf, char *alias, char *aliasdef, int flags);
  45. int addOptions(struct confModules *cf, char *module, char *modopts, int flags);
  46. int removeLine(struct confModules *cf, char *line, int flags);
  47. int removeAlias(struct confModules *cf, char *alias, int flags);
  48. int removeOptions(struct confModules *cf, char *module, int flags);
  49. char *getAlias(struct confModules *cf, char *alias);
  50.  
  51. /* Returns:
  52.  *  -1  if no alias is found
  53.  *  0 if the exact alias found
  54.  * <number> if a numbered alias is found
  55.  * For example:
  56.  *   isAliased(cf,"eth","tulip")
  57.  * returns '2' if cf has
  58.  *   alias eth2 tulip
  59.  */
  60. int isAliased(struct confModules *cf, char *alias, char *module);
  61. int isLoaded(char *module);
  62. int getLogLevel();
  63. void setLogLevel(int level);
  64. int loadModule(char *module);
  65. int removeModule(char *module);
  66. #endif
  67.